﻿// 5560. 树的直径.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://www.acwing.com/problem/content/5563/

给定一棵有 4个节点的树。

节点编号为 1∼4，其中 1 号节点为根节点，2,3,4号节点为根节点的叶子节点。

接下来依次进行 q 次扩树操作，每次操作：设当前树中包含的总节点数量为 n
，选择一个当前树的叶子节点 v
，给节点 v增添两个子节点，并将这两个子节点的编号设为 n+1 和 n+2。

每次操作完成后，你都需要计算并输出当前树的直径。

树的直径指树中距离最远的两个点之间的距离。

树中每条边的边长均为 1。

输入格式
第一行包含整数 q。

接下来 q 行，每行包含一个整数 v。

输出格式
共 q 行，其中第 i 行输出第 i 次操作完成后树的直径。

数据范围
前 3 个测试点满足 1≤q≤5。
所有测试点满足 1≤q≤5×105
，保证每次操作选择的节点 v
 的确是当时树中的叶子节点，其编号在 [1,n]范围内，其中 n为当时树中的总节点数量。

输入样例：
5
2
3
4
8
5
输出样例：
3
4
4
5
6
*/

int main()
{
    std::cout << "Hello World!\n";
}

 